﻿/********************************************************************************
** @ Date:2025/07/14
** @ Author: Gaojia
** @ Description:  临时脱离原父窗口 设置新的父窗口
** @ Version:1.0.0
** @ Fun:
********************************************************************************/
#ifndef UWidgetRestorer_H
#define UWidgetRestorer_H

#include <QWidget>
#include <QLayout>
#include <QRect>

class UWidgetRestorer
{
public:
	explicit UWidgetRestorer(QWidget* widget);

	// 恢复控件到原始父窗口和原始布局位置
	void restore();

private:
	QWidget* m_widget = nullptr;           // 控件
	QWidget* m_originalParent = nullptr;   // 原始父窗口
	QLayout* m_originalLayout = nullptr;   // 原始布局
	int m_indexInLayout = -1;              // 控件在布局中的索引
	QRect m_originalGeometry;              // 原始几何尺寸
};
#endif